收集Windows Event Viewer事件檢視器,很多人都會回到AD上的事件紀錄查,或是設定特定規則發送出來,可是通常不夠完整又不夠及時,很難配合其他工具做自動化控管,winlogbeat可以很好的處理這塊,而且是free的...
下載winlogbeat
https://www.elastic.co/downloads/beats/winlogbeat
winlogbeat.yml
winlogbeat.event_logs:
- name: Application
ignore_older: 72h
- name: Security
- name: System
看圖說故事,收集Application 72小時內的訊息,收集所有Security及System訊息
到powershell輸入以下指令可以看到全部名稱
Get-WinEvent -ListLog * | Format-List -Property LogName
因此如果要收特定Microsoft資料夾內的event就是Microsoft-後面在接event名
LogName : ForwardedEvents
LogName : Microsoft-Management-UI/Admin
LogName : Microsoft-Rdms-UI/Admin
忽略168小時以前的event
ignore_older: 168h
收集特定事件,下面的意思是收4624,4625,4700到4800,排除4735
event_id: 4624, 4625, 4700-4800, -4735
告警等級
level: critical, error, warning
其他可以參考官網,其實量不是太大全收會比較好,避免需要時漏掉。
Out選擇ES或logstash
output.elasticsearch:
hosts: ["localhost:9200"]
output.logstash:
hosts: ["localhost:5044"]
到winlogbeat的資料夾執行安裝
cd '.\Program Files (x86)\winlogbeat'
Set-ExecutionPolicy RemoteSigned
.\install-service-winlogbeat.ps1
Start-Service winlogbeat
確認啟動後,到ServerIP:9200/_cat/indices?v 查看資料是否進入,然後到kibana建立index:winlogbeat-*
匯入dashboards(官網居然沒寫清楚怎麼匯到特定IP...)
.\winlogbeat.exe setup -E setup.kibana.host=ServerIP:5601 --dashboards
預設的dashboards
發告警可用elastalert